#ifndef IMPORT_MAP_SERVICE_H
#define IMPORT_MAP_SERVICE_H

#include <string>
#include <vector>
#include <curl/curl.h>
#include "../models/place.h"
#include "../database/place_db.h"

// 地图服务类 - 用于与百度地图API交互（导入工具简化版本）
class ImportMapService {
private:
    std::string ak;  // 百度地图API密钥
    
    // CURL响应回调函数
    static size_t WriteCallback(void* contents, size_t size, size_t nmemb, void* userp);
    
public:
    // 构造函数，需要传入API密钥
    ImportMapService(const std::string& apiKey) : ak(apiKey) {}
    
    // 获取POI数据（兴趣点数据）
    std::string getPoiData(const std::string& query, int pageNum = 0);
    
    // 获取地点轮廓数据
    std::string getPlaceOutline(const std::string& placeName);
    
    // 从CSV文件导入基础地点数据
    static bool importPlacesFromCSV(PlaceDB& placeDb, const std::string& csvFilePath);
    
    // 混合导入方案：离线数据+API补充
    bool importPlacesMixedMethod(PlaceDB& placeDb, const std::string& csvFilePath, 
                               const std::vector<std::string>& placeTypes, 
                               int maxPagesPerType = 5);
                               
    // 创建基础地点CSV文件模板
    static bool createBasicPlacesCSVTemplate(const std::string& csvFilePath);
};

#endif // IMPORT_MAP_SERVICE_H 